1. Field of the Invention
The present invention is directed to interfaces for computer systems.
2. Description of the Related Art
Graphical user interfaces have become heavily integrated in many aspects of people's lives. People constantly interact with these interfaces in their every day business and pleasure activities. Example interfaces include computer operating systems and applications, Internet sites, personal digital assistants, and cellular telephones.
Graphical interfaces should provide users with a continuous interactive experience, much like people experience in their everyday interactions with other people and physical objects. People experience a physical object's characteristics smoothly transitioning from one state to the next through a continuum of intermediate states. When a spring is compressed, a person sees the fluid transitions the spring makes from the decompressed state to the compressed state. People's physical world experiences also lead them to expect that changes in one object can interrupt and alter the state of another object. This is seen when a baseball bat breaks while striking a ball—causing the ball to change its position and the bat to alter it's form and position through a fluid continuum of adjustments.
Traditional user interfaces, however, provide users with discrete displays that transition from one predefined state to another—failing to show any display states between the beginning state and end state. If a user calls for the size of a displayed icon to be expanded, traditional interfaces only display the fully expanded icon without showing a gradual progression of the icon's dimension changes. Additionally, the icon's instantaneous transition cannot respond to a user's efforts to interrupt or reverse the operation. This is not how people interact with their surroundings. Imagine if the above-mention spring transitioned from decompressed to fully compressed without having any intermediate states.
A user's interface to an Internet site through a network browser is one of the least continuous interfaces. Traditional browsers receive network content in descriptive HTML pages. Browsers alter HTML page displays by making network requests for updated HTML pages. This results in significant periods of time elapsing between display updates—prohibiting Internet sites from delivering display updates in a continuous fashion.
The ability to deliver a continuous user interface is seriously hampered by the lack of suitable interface development tools. Traditional development tools only allow developers to employ predefined displays that sharply transition between discrete states. The predefined displays are based on prewritten scripts for each display that developers cannot control. Individual pre-coded components of a system may exhibit some continuous behavior, but this is limited to these components and not supported as a framework for the entire system. In some instances, a developer writes a custom script to provide a more continuous interface for a display, but the developer's efforts are limited solely to that one display—making the developer's scripting of a complete continuous interface with many displays too difficult and expensive to achieve.